home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / system / SerialDevice.st < prev    next >
Text File  |  2004-01-31  |  2KB  |  88 lines

  1. " ---------------------------------------------------------------------"
  2. " SerialDevice Class is derived from abstract Device Class.            "
  3. ""
  4. "  WARNING:  You should know what you're doing to the Amiga OS before  "
  5. "            messing with this Class, or any other System Class!       "
  6. " ---------------------------------------------------------------------"
  7.  
  8. Class SerialDevice :Device ! private bufferSize !
  9. [
  10.    initializeWithTerm: charValString
  11.       <primitive 227 2 charValString private>
  12. |
  13.    readSerial: syncValue       " syncValue = 0 (SYNC_OFF) or 1 (SYNC_ON) "
  14.       ^ <primitive 227 3 private syncValue>
  15. |
  16.    writeThis: writeString
  17.       <primitive 227 4 writeString private>
  18. |
  19.    reset
  20.       <primitive 227 5 private>
  21. |
  22.    pause
  23.       <primitive 227 6 private>
  24. |
  25.    restart
  26.       <primitive 227 7 private>
  27. |
  28.    sendBreakOfDuration: usecs
  29.       <primitive 227 8 usecs private>
  30. |
  31.    getStatus
  32.       ^ <primitive 227 9 private>
  33. |
  34.    flush
  35.       <primitive 227 10 private>
  36. |
  37.    clearReadBuffer
  38.       <primitive 227 11 private>
  39. |
  40.    setSyncType: newSync
  41.       ^ <primitive 227 12 newSync>
  42. |
  43.    setBaud: newBaud
  44.       ^ <primitive 227 13 0 newBaud private>
  45. |
  46.    setParity: newParity status: onOrOff 
  47.  
  48.       " newParity: 0 = Space, 1 = Mark, 2 = Even & 3 = Odd: "
  49.       <primitive 227 15 newParity onOrOff private>
  50. |
  51.    setDataSize: newSize
  52.       ^ <primitive 227 13 1 newSize private>
  53. |
  54.    setStops: newStops
  55.       ^ <primitive 227 13 2 newStops private>
  56. |
  57.    setBreakLen: duration
  58.       ^ <primitive 227 13 3 duration private>
  59. |
  60.    setRBufSize: size
  61.       ^ <primitive 227 13 4 size private>
  62. |
  63.    setFlags: newFlags
  64.       ^ <primitive 227 13 5 newFlags private>
  65. |
  66.    setTerminators: termCharString
  67.       ^ <primitive 227 14 termCharString private>
  68. |
  69.    open: portName size: newBufferSize
  70.       private <- <primitive 227 1 newBufferSize>.
  71.  
  72.       bufferSize <- newBufferSize.
  73.  
  74.       ^ self
  75. |
  76.    close
  77.  
  78.       <primitive 227 0 private>.
  79.  
  80.       <primitive 250 5 0 private>.
  81.       
  82.       ^ nil
  83. |
  84.    new: portName
  85.       self open: portName size: 8192.
  86.       ^ self
  87.